﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Enumerable.NCondition
{


    // 특정 시간을 기다리는 타이머 컨디션
    public class WaitTime : ICondition
    {
        DateTime m_Time;


        double _waitTime;

        public delegate void Complete(double time);
        public delegate void Fail(double time);

        public WaitTime(double sec)
        {
            _waitTime = sec;
            m_Time = DateTime.Now + TimeSpan.FromSeconds(sec);
        }

        public bool IsComplete()
        {

            if (DateTime.Now < m_Time)
            {
                // 아직 기다리는 시간이 남아있다.
                return false;
            }


            //_complete(_waitTime);

            return true;
        }


        public void Cancel()
        {
            //TimeSpan span = (m_Time - DateTime.Now);

            //_fail(_waitTime - (span.TotalMilliseconds / 1000.0));
        }

    }
}
